<?php
require 'vendor/autoload.php';

class ParserTest extends PHPUnit_Framework_TestCase{
	
	public function setUp(){
		$this->parser = ApplicationContext::getTestServices('rssParser');
	}
	
	public function testParser(){
		$expectedNewsArray = $this->createExpectedNews();
		$rss = 'tests/test.rss';
		$source = "Test Source";
		$shortName = "testSource";
		$newsArray = $this->parser->parse($rss, $source, $shortName);
		$i = 0;
		foreach ($newsArray as $news){	
			$value = $this->bool2str($expectedNewsArray[$i] == $news);	
			$this->assertEquals("TRUE", $value);
			$i++;
			
		}
	}
	
	private function bool2str($bool){
	    if ($bool === false) {
	        return 'FALSE';
	    } else {
	        return 'TRUE';
	    }
	}
	
	private function createExpectedNews(){
		$source = "Test Source";
		$shortName = "testSource";
		$expectedNewsArray = array();
		$expectedNewsArray[0] = new News();
		$expectedNewsArray[1] = new News();
		$expectedNewsArray[2] = new News();
		$expectedNewsArray[0]->setTitle("Nunca me di por vencido");
		$expectedNewsArray[0]->setResume(" El defensor de Boca Leandro Marín no le guarda rencor a la vida ni a sus dos años sin jugar en Primera, su filosofía le permitió asegurar &amp;ldquo;parece que me hizo bien esperar tanto&amp;rdquo;.");
		$expectedNewsArray[0]->setLink("http://elgraficodiario.infonews.com/2013/05/07/elgraficodiario-74219-nunca-me-di-por-vencido.php");
		$expectedNewsArray[0]->setSource($source);
		$expectedNewsArray[0]->setShortName($shortName);
		$expectedNewsArray[0]->setPubDate("06-05-2013 23:02");
		$expectedNewsArray[1]->setTitle("Un avión aterrizó sin ruedas en Nueva Jersey");
		$expectedNewsArray[1]->setResume("Llevaba 34 personas a bordo y su tren de aterrizaje no funcionaba. Sin remedio, el piloto tuvo que bajar en esas condiciones y les salvó la vida a todos.");
		$expectedNewsArray[1]->setLink("http://america.infobae.com/notas/71697-Un-avion-aterrizo-sin-ruedas-en-Nueva-Jersey");
		$expectedNewsArray[1]->setSource($source);
		$expectedNewsArray[1]->setShortName($shortName);
		$expectedNewsArray[1]->setPubDate("18-05-2013 17:02");
		$expectedNewsArray[2]->setTitle("Tras las presiones, LAN reanudó sus vuelo");
		$expectedNewsArray[2]->setResume("La aerolínea reinició su actividad  luego de la supresión del servicio de rampas por parte de Intercargo. El Ejecutivo había desoído un fallo de la Justicia. Ayer, los pasajeros de Chile y Argentina padecieron la medida");
		$expectedNewsArray[2]->setLink("http://www.infobae.com/notas/711214-Tras-las-presiones-LAN-reanudo-sus-vuelo");
		$expectedNewsArray[2]->setSource($source);
		$expectedNewsArray[2]->setShortName($shortName);
		$expectedNewsArray[2]->setPubDate("19-05-2013 20:02");
		
		return($expectedNewsArray);
	}
}
?>